package main

import (
	"github.com/gin-gonic/gin"
	"github.com/sirupsen/logrus"
	"simple-app/app"
	"simple-app/global"
	"simple-app/lib/middleware"
	"simple-app/structs/enum"
)

func main() {
	defer logrus.Panic("系统崩溃")
	// 读取配置文件
	global.InitSysConfig("config.yaml")
	// 初始化目录
	err := app.InitAppPath()
	if err != nil {
		return
	}
	// 初始化数据库
	global.InitDB()
	// 更新缓存
	app.InitCatch()
	// 启动定时任务
	app.StartJob()
	// 启动http服务
	api := gin.New()
	api.Static("/api/static/pic", enum.ImagePath)
	r := api.Group("/api")
	r.Use(middleware.HttpLog())
	app.RegisterRouter(r)
	err = api.Run(global.SysConf.Http.Addr)
	if err != nil {
		logrus.Panicf("http服务启动失败:%v", err)
	}
}
